package hcn.api.service.api.examreport;

import ctd.util.annotation.RpcService;
import hcn.protocol.ods.report.ExamCrisisDetailBean;
import hcn.protocol.ods.report.ExamHistoryQueryBean;
import hcn.protocol.ods.report.ExamReportBean;
import hcn.protocol.ods.report.ExamUpdateCrisisBean;

import java.util.List;


/**
 * @author zzj
 */
public interface ExamReportInterface {

    /**
     * 2.1.2.	获取1份检查报告单
     * HCN-HIS
     *
     * @param orgId
     * @param sourceId
     * @param sourceFrom
     * @return
     */
    @RpcService
    ExamReportBean getExamReport(String orgId, String sourceId, String sourceFrom);

    /**
     * 2.2.7.	定向报告查询
     * HCN-HIS
     *
     * @param orgId
     * @param patientName
     * @param sourceId
     * @return
     */
    @RpcService
    ExamReportBean orientQueryExamReport(String orgId, String patientName, String sourceId);

    /**
     * 定向查询检查报告列表
     * @param orgId
     * @param patientName
     * @param sourceId
     * @return
     */
    @RpcService
    List<ExamReportBean> orientQueryExamReportList(String orgId, String patientName, String sourceId);

    /**
     * 查询检查报告列表
     *
     * @param queryBean
     * @return
     */
    @RpcService
    List<ExamReportBean> getExamReportList(ExamHistoryQueryBean queryBean);

    /**
     * 获取检查危急值处理详情
     *
     * @param orgId
     * @param sourceId
     * @param sourceFrom
     * @return
     */
    @RpcService
    ExamCrisisDetailBean getExamCrisisDetail(String orgId, String sourceId, String sourceFrom);

    /**
     * 更新检查危急值处理状态
     *
     * @param report
     */
    @RpcService
    void updateExamCrisis(ExamUpdateCrisisBean report);
}
